{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "second-venice",
   "metadata": {},
   "source": [
    "# 教程"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "average-large",
   "metadata": {},
   "source": [
    "## 资源链接\n",
    "\n",
    "* 官方文档\n",
    "https://docs.python.org/zh-cn/3/tutorial/index.html\n",
    "* Deeplizard(s) 计算机视觉 B站"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "after-submission",
   "metadata": {},
   "source": [
    "## 开发环境\n",
    "* Conda家族: Anaconda(全家桶)/ Miniconda\n",
    "* Jupyter家族: Jupyter notebook / Jupyter lab\n",
    "* (入门时可以不讨论)Vscode(文本编辑器) + Python 开发相关插件"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "every-university",
   "metadata": {},
   "source": [
    "### 如何配置\n",
    "首先注意以下概念：\n",
    "* 镜像源\n",
    "* 环境变量\n",
    "* 包管理：pip / conda\n",
    "* 注意到 知乎 / bing/google 上搜索解决安装中遇到的问题\n",
    "\n",
    "配置路线：\n",
    "* 简易版: 从清华源安装Anaconda -> 添加环境变量 -> 打开 Jupyter notebook 即可开始使用\n",
    "* 复杂版(可以之后再进行)：安装wsl(windows subsystem for linux) -> Miniconda -> Jupyter lab -> 安装需要的库"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dried-atmosphere",
   "metadata": {},
   "source": [
    "## 要点\n",
    "\n",
    "* python 是解释型语言\n",
    "* python 是 Object Oriented\n",
    "* 列表推导式\n",
    "* NumPy Element-wise\n",
    "* Numpy Broadcasting\n",
    "* Scipy 内置科学常数 constant\n",
    "* Matplotlib 的两种接口风格： 类 Matlab / OOP 风格"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "curious-barcelona",
   "metadata": {},
   "source": [
    "## 语言特性\n",
    "\n",
    "* 内置数据类型：int, float, str\n",
    "* 逻辑：for, while, if\n",
    "* 数据容器：list,dict"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "removable-dublin",
   "metadata": {},
   "source": [
    "## 科学计算库\n",
    "* NumPy : 多维数组的高效实现\n",
    "* SciPy\n",
    "* Matplotlib"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "three-running",
   "metadata": {},
   "source": [
    "$$\n",
    "\\sum_{i=1}^{100} i \n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "cathedral-daniel",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "technological-blind",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0.        , 0.01010101, 0.02020202, 0.03030303, 0.04040404,\n",
       "        0.05050505, 0.06060606, 0.07070707, 0.08080808, 0.09090909,\n",
       "        0.1010101 , 0.11111111, 0.12121212, 0.13131313, 0.14141414,\n",
       "        0.15151515, 0.16161616, 0.17171717, 0.18181818, 0.19191919,\n",
       "        0.2020202 , 0.21212121, 0.22222222, 0.23232323, 0.24242424,\n",
       "        0.25252525, 0.26262626, 0.27272727, 0.28282828, 0.29292929,\n",
       "        0.3030303 , 0.31313131, 0.32323232, 0.33333333, 0.34343434,\n",
       "        0.35353535, 0.36363636, 0.37373737, 0.38383838, 0.39393939,\n",
       "        0.4040404 , 0.41414141, 0.42424242, 0.43434343, 0.44444444,\n",
       "        0.45454545, 0.46464646, 0.47474747, 0.48484848, 0.49494949,\n",
       "        0.50505051, 0.51515152, 0.52525253, 0.53535354, 0.54545455,\n",
       "        0.55555556, 0.56565657, 0.57575758, 0.58585859, 0.5959596 ,\n",
       "        0.60606061, 0.61616162, 0.62626263, 0.63636364, 0.64646465,\n",
       "        0.65656566, 0.66666667, 0.67676768, 0.68686869, 0.6969697 ,\n",
       "        0.70707071, 0.71717172, 0.72727273, 0.73737374, 0.74747475,\n",
       "        0.75757576, 0.76767677, 0.77777778, 0.78787879, 0.7979798 ,\n",
       "        0.80808081, 0.81818182, 0.82828283, 0.83838384, 0.84848485,\n",
       "        0.85858586, 0.86868687, 0.87878788, 0.88888889, 0.8989899 ,\n",
       "        0.90909091, 0.91919192, 0.92929293, 0.93939394, 0.94949495,\n",
       "        0.95959596, 0.96969697, 0.97979798, 0.98989899, 1.        ]),\n",
       " array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
       "        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
       "        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
       "        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
       "        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
       "        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]),\n",
       " array([ 0.        , -0.01010101, -0.02020202, -0.03030303, -0.04040404,\n",
       "        -0.05050505, -0.06060606, -0.07070707, -0.08080808, -0.09090909,\n",
       "        -0.1010101 , -0.11111111, -0.12121212, -0.13131313, -0.14141414,\n",
       "        -0.15151515, -0.16161616, -0.17171717, -0.18181818, -0.19191919,\n",
       "        -0.2020202 , -0.21212121, -0.22222222, -0.23232323, -0.24242424,\n",
       "        -0.25252525, -0.26262626, -0.27272727, -0.28282828, -0.29292929,\n",
       "        -0.3030303 , -0.31313131, -0.32323232, -0.33333333, -0.34343434,\n",
       "        -0.35353535, -0.36363636, -0.37373737, -0.38383838, -0.39393939,\n",
       "        -0.4040404 , -0.41414141, -0.42424242, -0.43434343, -0.44444444,\n",
       "        -0.45454545, -0.46464646, -0.47474747, -0.48484848, -0.49494949,\n",
       "        -0.50505051, -0.51515152, -0.52525253, -0.53535354, -0.54545455,\n",
       "        -0.55555556, -0.56565657, -0.57575758, -0.58585859, -0.5959596 ,\n",
       "        -0.60606061, -0.61616162, -0.62626263, -0.63636364, -0.64646465,\n",
       "        -0.65656566, -0.66666667, -0.67676768, -0.68686869, -0.6969697 ,\n",
       "        -0.70707071, -0.71717172, -0.72727273, -0.73737374, -0.74747475,\n",
       "        -0.75757576, -0.76767677, -0.77777778, -0.78787879, -0.7979798 ,\n",
       "        -0.80808081, -0.81818182, -0.82828283, -0.83838384, -0.84848485,\n",
       "        -0.85858586, -0.86868687, -0.87878788, -0.88888889, -0.8989899 ,\n",
       "        -0.90909091, -0.91919192, -0.92929293, -0.93939394, -0.94949495,\n",
       "        -0.95959596, -0.96969697, -0.97979798, -0.98989899, -1.        ]))"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = np.zeros(100)\n",
    "y = np.linspace(0,1,100)\n",
    "x+y,x*y,x-y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "deadly-accuracy",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1., 2., 3.],\n",
       "       [4., 5., 6.]])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = np.array([[1,2,3],[4,5,6]])\n",
    "b = np.eye(3)\n",
    "a@b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "colonial-sunday",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.style.use(\"ggplot\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "basic-arrival",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f15ad7bbbb0>]"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(0,10,100)\n",
    "plt.plot(x,np.sin(x)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "brief-outdoors",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f15ad721160>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x,np.sin(x)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "prepared-forest",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f15ad6f4970>]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "ax.plot(x,x**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "commercial-standard",
   "metadata": {},
   "outputs": [],
   "source": [
    "import scipy.constants as const"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "perceived-group",
   "metadata": {},
   "outputs": [],
   "source": [
    "import scipy.integrate as integrate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "latest-lender",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.33333333333333337, 3.700743415417189e-15)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "integrate.quad(lambda x:x**2,0,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "african-removal",
   "metadata": {},
   "outputs": [],
   "source": [
    "import scipy.special as special"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "fourth-there",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f15ab401a30>]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(0,20,100)\n",
    "fig,ax = plt.subplots()\n",
    "ax.plot(x,special.j0(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "distinct-ranking",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:mysci]",
   "language": "python",
   "name": "conda-env-mysci-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
